In conventional Information Technology (IT) network equipment, in order to reduce complexity in management over at least one network interface of a server and also along with increase of a network interface bandwidth requirement of application software, multiple external network interfaces of the server usually aggregate multiple Physical Functions (PFs) into an aggregate port for an Operation System (OS) and an upper-layer service to use by adopting a Link Aggregation Control Protocol (LACP).
In a non-virtualized host OS, an 802.3ad LACP runs to automatically complete negotiation and management of multiple ports connected with a switch side. In a VM environment, network card equipment realizes multiple Virtual Functions (VFs) by virtue of an Input/Output (I/O) virtualization technology such as Single Root I/O Virtualization (SR-IOV) or a Virtual Machine Device Queue (VMDq). A certain number of VFs are allocated to each VM according to a requirement. Requirements of all of multiple VMs on running the 802.3ad LACP for respectively mounted VFs cause an LACP state machine chaos of a switch side and make an LACP state machine impossible to implement a link aggregation negotiation process.
In a typical networking example, a server has two physical network cards A and B respectively connected with Ethernet switch ports PA and PB which support an LACP. Two VFs named after VF1 and VF2 are configured by the network card A of the server by SR-IOV. Two VFs named after VF3 and VF4 are also configured by the network card B of the server. Two VMs VM1 and VM2 are started on the server. The VF1 and the VF3 are allocated to the VM1, the VF2 and the VF4 are allocated to the VM2, and then network traffic of the two VMs is finally connected to a switch through two PFs. Such networking implements load sharing of the two ports in the VMs in a static switch configuration manner. Otherwise, the LACP simultaneously runs in the VM1 and the VM2. LACP data unit protocol messages of the two VMs simultaneously negotiate with an LACP of a switch, and at this moment, negotiation fails.
If a method for static switch configuration is adopted in the VM environment, there is a shortcoming as follows.
There is no full-path detection mechanism from VFs to an external switch. Once a link failure occurs, it is impossible to determine whether a reason is a problem of the VFs in VMs or a problem from external physical links to the switch, so that difficulties in failure processing are increased.
Besides static switch configuration, a method which is commonly used at present also includes that:
PFs managed by a host OS run an LACP and construct a physical aggregation group. VFs managed by a guest OS construct a virtual LACP aggregation group. State information of the physical aggregation group is synchronized to the virtual aggregation group. The virtual aggregation group manages the VFs according to protocol state information of the physical aggregation group. No practical LACP negotiation process is required on VMs, but there is also no full-path detection mechanism from the VFs to an external switch.
From the above, it can be seen that both of the two methods have a problem of incapability in implementing full-path detection of network links of VMs, thereby causing a condition of packet loss of an LACP aggregation group of the VMs when internal VFs are abnormal.